類別就像製作物件的藍圖,並且整合管理相關的資料,也可自定義型別。
試著替類別加入「屬性」與「方法」來描述產生的物件有什麼特色吧!
//定義類別,第一個字母大寫
class Lego{
//屬性(Property):在類別裡宣告的變數,用來描述物件
var color:String = "blue"
var size:Int = 8
//方法(method):描述類別所產生的物件的功能
func connect(){
print("connect with another block")
}
func remove(){
print("disconnect with another block")
}
}
記得,使用屬性或方法前,一定要先產生物件實體
//生成物件(object)=實體(instance)
let oneBlock:Lego = Lego()
以屬性描述產生的實體,亦可修改屬性
oneBlock.color = "red"
oneBlock.size = 4
呼叫類別的方法執行功能
oneBlock.connect()
oneBlock.remove()
同一個類別所產生的物件皆為獨立個體,不會互相影響
class Baby{
//所有屬性都要有初始值,於宣告時設置
var name:String = "Tom"
var age:Int = 1
func sleep(){
print("sleep")
}
func introduceSelf(){
print("My name is \(name)")
}
}
let babyNumberOne:Baby = Baby()
babyNumberOne.name //Tom
babyNumberOne.age //1
babyNumberOne.sleep() //sleep
let babyNumberTwo:Baby = Baby()
babyNumberTwo.name = "Nancy"
babyNumberOne.age = 10 //改變babyNumberOne的年齡
babyNumberOne.introduceSelf() //My name is Tom